package com.ticket.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ticket.common.annotation.Excel;
import com.ticket.common.core.domain.BaseEntity;

/**
 * 消费记录（包含充值）对象 yanchu_consume_record
 * 
 * @author ruoyi
 * @date 2023-12-12
 */
@ApiModel(description = "消费记录（包含充值）")
public class YanchuConsumeRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty(name = "id",value = "主键id")
    private Long id;

    /** 卡号 */
    @Excel(name = "卡号")
    @ApiModelProperty(name = "cardNum",value = "卡号")
    private String cardNum;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty(name = "orderId",value = "订单号")
    private Long orderId;

    /** 绑定者id */
    @Excel(name = "绑定者id")
    @ApiModelProperty(name = "bindId",value = "绑定者id")
    private Long bindId;

    /** 充值金额 */
    @Excel(name = "充值金额")
    @ApiModelProperty(name = "amount",value = "充值金额")
    private BigDecimal amount;

    /** 消费类型 1：微信充值；2：支付宝充值；3：观演卡消费；4：储存卡消费；5：微信消费；6：观演卡退费；7：储存卡退费；8：微信退费 */
    @Excel(name = "消费类型 1：微信充值；2：支付宝充值；3：观演卡消费；4：储存卡消费；5：微信消费；6：观演卡退费；7：储存卡退费；8：微信退费")
    @ApiModelProperty(name = "conType",value = "费类型 1：微信充值；2：支付宝充值；3：观演卡消费；4：储存卡消费；5：微信消费；6：观演卡退费；7：储存卡退费；8：微信退费")
    private Integer conType;

    /** 卡类型 1：观演卡；2：储存卡 */
    @Excel(name = "卡类型 1：观演卡；2：储存卡")
    @ApiModelProperty(name = "cardType",value = "卡类型 1：观演卡；2：储存卡")
    private Integer cardType;

    /** 充值状态 0：成功；1：失败 */
    @Excel(name = "充值状态 0：成功；1：失败")
    @ApiModelProperty(name = "status",value = "充值状态 0：成功；1：失败")
    private Integer status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(name = "creatTime",value = "创建时间")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatTime;
    @ApiModelProperty(name = "balance",value = "余额")
    private BigDecimal balance;

    @ApiModelProperty(name = "orderNo",value = "充值单号")
    private String orderNo;

    @ApiModelProperty(name = "credits",value = "充值时的赠送金额")
    private BigDecimal credits;

    @ApiModelProperty(name = "isDel",value = "是否删除 0未删除 1删除")
    private Integer isDel;

    @ApiModelProperty(name = "refundAmt",value = "退款")
    private BigDecimal refundAmt = BigDecimal.ZERO;

    @ApiModelProperty(name = "operaId",value = "消费是 剧院id")
    private Long operaId;

    public BigDecimal getRefundAmt() {
        return refundAmt;
    }

    public void setRefundAmt(BigDecimal refundAmt) {
        this.refundAmt = refundAmt;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }


    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCardNum(String cardNum) 
    {
        this.cardNum = cardNum;
    }

    public String getCardNum() 
    {
        return cardNum;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setBindId(Long bindId) 
    {
        this.bindId = bindId;
    }

    public Long getBindId() 
    {
        return bindId;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setConType(Integer conType) 
    {
        this.conType = conType;
    }

    public Integer getConType() 
    {
        return conType;
    }
    public void setCardType(Integer cardType) 
    {
        this.cardType = cardType;
    }

    public Integer getCardType() 
    {
        return cardType;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }

    public Long getOperaId() {
        return operaId;
    }

    public void setOperaId(Long operaId) {
        this.operaId = operaId;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public BigDecimal getCredits() {
        return credits;
    }

    public void setCredits(BigDecimal credits) {
        this.credits = credits;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("cardNum", getCardNum())
            .append("orderId", getOrderId())
            .append("bindId", getBindId())
            .append("amount", getAmount())
            .append("conType", getConType())
            .append("cardType", getCardType())
            .append("status", getStatus())
            .append("creatTime", getCreatTime())
            .toString();
    }
}
